package edu.pe.cayetano.util;

import java.util.ArrayList;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.apache.commons.beanutils.DynaBean;
import org.apache.commons.beanutils.RowSetDynaClass;

import ws.synopsis.frmwrk.common.BResult;
import edu.pe.cayetano.model.to.FaseTratamientoTO;
import edu.pe.cayetano.model.to.HistoriaClinicaArchivoTO;
import edu.pe.cayetano.model.to.OrdenServicioTO;
import edu.pe.cayetano.model.to.PacienteTO;
import edu.pe.cayetano.model.to.UsuarioTO;
import edu.pe.cayetano.seccd.constantes.ConstantesListas;
import edu.pe.cayetano.seccd.constantes.ConstantesSECCD;
import edu.pe.cayetano.seccd.constantes.ConstantesSession;

public class UtilitarioSession {

	
	public static void seteaParametrosCargaEditaOS(HttpSession session,BResult retOS){
		try{
			session.setAttribute("tempCiclo",((OrdenServicioTO)retOS.getObject()).getCicloID());
			//session.setAttribute("tempSede",((OrdenServicioTO)retOS.getObject()).getSedeID());
			session.setAttribute("tempSedeOrigen",((OrdenServicioTO)retOS.getObject()).getSedeID());
			session.setAttribute("tempOperador",((OrdenServicioTO)retOS.getObject()).getCodigoAlumno());	
			session.setAttribute("tempDNI",((OrdenServicioTO)retOS.getObject()).getDni());
			session.setAttribute("tempEspecialidadOrigen",((OrdenServicioTO)retOS.getObject()).getEspecialidadID());
			//session.setAttribute("tempServicio",((OrdenServicioTO)retOS.getObject()).getServicioID());
			session.setAttribute("tempComentario",((OrdenServicioTO)retOS.getObject()).getComentario());
			session.setAttribute("tempEstado",((OrdenServicioTO)retOS.getObject()).getEstadoID());
			session.removeAttribute("tempSede");
			session.removeAttribute("tempEspecialidad");
		}catch(Exception ex){
			System.out.println("[UtilitarioSession] error en seteaParametrosCargaEditaOS generado por:"+ex.getMessage());
		}
	}
	
	public static void eliminaParametrosBusquedaGenerico(HttpSession session){
		try{
			session.removeAttribute("results");
			session.removeAttribute("optCampo");
			session.removeAttribute("criterio");
			session.removeAttribute("operacion");
			session.removeAttribute("estado");
			session.removeAttribute("hashtableDetalleOrdenServicio");
			session.removeAttribute(ConstantesSession.DIAGNOSTICODEFINITIVOTO);
			session.removeAttribute(ConstantesSession.DIAGNOSTICOPRESUNTIVOTO);
			session.removeAttribute(ConstantesSession.FICHAEXTRAORALTO);
			session.removeAttribute(ConstantesSession.FICHAINTRAORALTO);
			session.removeAttribute(ConstantesSession.EXAMENCLINICOGENERALTO);
			session.removeAttribute(ConstantesSession.ORDENSERVICIOTO);
			session.removeAttribute(ConstantesSession.EXAMENCLINICOGENERALTO);
			session.removeAttribute(ConstantesListas.LISTA_ESPECIALIDADES);
			session.removeAttribute(ConstantesListas.LISTA_SEDES);
			session.removeAttribute(ConstantesListas.LISTA_SERVICIOS);
			session.removeAttribute(ConstantesListas.LISTA_FASES);
			session.removeAttribute(ConstantesListas.LISTA_DIA_1);
			session.removeAttribute(ConstantesListas.LISTA_DIA_2);
			session.removeAttribute(ConstantesListas.LISTA_DIA_3);
			session.removeAttribute(ConstantesListas.LISTA_DIA_4);
			session.removeAttribute(ConstantesListas.LISTA_DIA_5);
			session.removeAttribute(ConstantesListas.LISTA_DIA_6);
			session.removeAttribute(ConstantesListas.LISTA_DIA);
			session.removeAttribute(ConstantesListas.LISTA_SILLONES);
		}catch(Exception ex){
			System.out.println("[UtilitarioSession] error en eliminarParametrosBusquedaGenerico generado por:"+ex.getMessage());
		}
	}
	
	public static void seteaParametrosListadoGenerico(HttpSession session,RowSetDynaClass resultSet){
		try{
			session.setAttribute("results",resultSet);
			session.setAttribute("criterio","");
			session.setAttribute("optCampo","todos");
			session.setAttribute("operacion","listado");
		}catch(Exception ex){
			System.out.println("[UtilitarioSession] error en seteaParametrosListadoGenerico generado por:"+ex.getMessage());
		}
	}
	
	public static void seteaParametrosListadoFileHC(HttpSession session,RowSetDynaClass resultSet,DynaBean dyna,BResult ret){
		try{
			session.setAttribute("results",resultSet);
			session.setAttribute("criterio","");
			session.setAttribute("optCampo","todos");
			session.setAttribute("operacion","listado");
			session.setAttribute("tempHC",(String)dyna.get("codigo"));
			session.setAttribute("tempEstadoArchivoHC", ((HistoriaClinicaArchivoTO)ret.getObject()).getEstadoId());
		}catch(Exception ex){
			System.out.println("[UtilitarioSession] error en seteaParametrosListadoFileHC generado por:"+ex.getMessage());
		}
	}

	public static void seteaParametroFileHC(HttpSession session,String codigo){
		try{
			session.setAttribute("filehc",codigo);
			session.setAttribute("subFileHC",codigo.substring(2,codigo.length()));
		}catch(Exception ex){
			System.out.println("[UtilitarioSession] error en seteaParametroFileHC(HttpSession session,String codigo) generado por:"+ex.getMessage());
		}
	}
	
	public static void seteaParametroFileHC(HttpSession session,DynaBean dyna){
		try{
			String codigo = Utilitario.getPropertyDynaBean(dyna, "codigo");
			session.setAttribute("filehc",codigo);
			session.setAttribute("subFileHC",codigo.substring(2,codigo.length()));
			session.setAttribute("estado",Utilitario.getPropertyDynaBean(dyna, "estado"));
		}catch(Exception ex){
			System.out.println("[UtilitarioSession] error en seteaParametroFileHC(HttpSession session,DynaBean dyna) generado por:"+ex.getMessage());
		}
	}
	
	public static void seteaParametrosBusquedaGenerico(HttpSession session,RowSetDynaClass resultSet,DynaBean dyna){
		try{
			if(ConstantesSECCD.CRITERIO_TODOS.equalsIgnoreCase((String)dyna.get("optCampo"))){
				session.setAttribute("criterio","");
			}else{
				session.setAttribute("criterio",(String)dyna.get("criterio"));
			}
			session.setAttribute("results",resultSet);
			session.setAttribute("optCampo",(String)dyna.get("optCampo"));
			session.setAttribute("operacion","listado");
		}catch(Exception ex){
			System.out.println("[UtilitarioSession] error en seteaParametrosBusquedaGenerico generado por:"+ex.getMessage());
		}
	}
	
	/**
	 * Metodo que elimina los objetos de session al entrar a las paginas insertar/editar orden de servicio 
	 * */
	public static void eliminaAtributosSessionOrdenServicio(HttpSession session){
		try{
			session.removeAttribute("tempEspecialidad");
			session.removeAttribute("tempSede");
			session.removeAttribute("tempEspecialidadOrigen");
			session.removeAttribute("tempSedeOrigen");
			session.removeAttribute("tempServicio");
			session.removeAttribute("tempDNI");
			session.removeAttribute("tempComentario");
			session.removeAttribute("tempCiclo");
			session.removeAttribute("tempOperador");
			session.removeAttribute(ConstantesSession.PACIENTETO);
			session.removeAttribute(ConstantesListas.LISTA_OPERADORES);
			session.removeAttribute(ConstantesListas.LISTA_ESPECIALIDADES);
			session.removeAttribute(ConstantesListas.LISTA_ESPECIALIDADES_ORIGEN);
		}catch(Exception ex){
			System.out.println("[UtilitarioSession] error en eliminaAtributosSessionOrdenServicio generado por:"+ex.getMessage());
		}
	}
	
	public static void eliminaAtributosSessionPlanTratamiento(HttpSession session){
		try{
			session.removeAttribute("tempEspecialidad");
			session.removeAttribute("tempSede");
			session.removeAttribute("tempServicio");
			session.removeAttribute("tempFileHC");
			session.removeAttribute("tempComentario");
			session.removeAttribute("hashtableServicioxPT");
			session.removeAttribute(ConstantesSession.PACIENTETO);
			session.removeAttribute(ConstantesListas.LISTA_SERVICIOS);
			session.removeAttribute(ConstantesListas.LISTA_ESPECIALIDADES);
			session.removeAttribute(ConstantesListas.LISTA_FASES);
		}catch(Exception ex){
			System.out.println("[UtilitarioSession] error en eliminaAtributosSessionPlanTratamiento generado por:"+ex.getMessage());
		}
	}
	
	public static void eliminaAtributosSessionHC(HttpSession session){
		try{
			session.removeAttribute("tempSede");
			session.removeAttribute("tempPeriodo");
			session.removeAttribute("tempDNI");
			session.removeAttribute("txtMotivoActual");
			session.removeAttribute("txtMotivoAnterior");
			session.removeAttribute(ConstantesSession.PACIENTETO);
			session.removeAttribute(ConstantesListas.LISTA_ESPECIALIDADES);

			session.removeAttribute(ConstantesSession.EXAMENCLINICOGENERALTO);
			session.removeAttribute(ConstantesSession.DIAGNOSTICODEFINITIVOTO);
			session.removeAttribute(ConstantesSession.DIAGNOSTICOPRESUNTIVOTO);
			session.removeAttribute(ConstantesSession.FICHAINTRAORALTO);
			session.removeAttribute(ConstantesSession.FICHAEXTRAORALTO);
		}catch(Exception ex){
			System.out.println("[UtilitarioSession] error en eliminaAtributosSessionHC generado por:"+ex.getMessage());
		}
	}

	public static void seteaAtributosSessionOrdenServicio(HttpSession session, DynaBean dyna,BResult ret,String tipoLista){
		try{
			if(Utilitario.validaAtributoDynaBean(dyna, "cboCiclo"))
				session.setAttribute("tempCiclo",(String)dyna.get("cboCiclo"));
			if(Utilitario.validaAtributoDynaBean(dyna, "cboSede"))
				seteaAtributosSession(session,dyna,"tempSede","cboSede");
			if(Utilitario.validaAtributoDynaBean(dyna, "cboSedeOrigen"))
				seteaAtributosSession(session,dyna,"tempSedeOrigen","cboSedeOrigen");
			if(Utilitario.validaAtributoDynaBean(dyna, "cboEspecialidadOrigen"))
				session.setAttribute("tempEspecialidadOrigen",(String)dyna.get("cboEspecialidadOrigen"));
			if(Utilitario.validaAtributoDynaBean(dyna, "dni"))
				session.setAttribute("tempDNI",(String)dyna.get("dni"));
			if(Utilitario.validaAtributoDynaBean(dyna, "cboEspecialidad"))
				session.setAttribute("tempEspecialidad",(String)dyna.get("cboEspecialidad"));
			if(Utilitario.validaAtributoDynaBean(dyna, "cboServicio"))
				session.setAttribute("tempServicio",(String)dyna.get("cboServicio"));
			if(Utilitario.validaAtributoDynaBean(dyna, "txtComentario"))
				session.setAttribute("tempComentario",(String)dyna.get("txtComentario"));
			if(Utilitario.validaAtributoDynaBean(dyna, "cboOperador"))
				session.setAttribute("tempOperador",(String)dyna.get("cboOperador"));
			if(ConstantesListas.LISTA_OPERADORES.equalsIgnoreCase(tipoLista))
				session.setAttribute(ConstantesListas.LISTA_OPERADORES, (ArrayList<?>)ret.getObject());
			if(ConstantesSession.PACIENTETO.equalsIgnoreCase(tipoLista))
				session.setAttribute(ConstantesSession.PACIENTETO, (PacienteTO)ret.getObject());
			if(ConstantesListas.LISTA_ESPECIALIDADES.equalsIgnoreCase(tipoLista))
				session.setAttribute(ConstantesListas.LISTA_ESPECIALIDADES, (ArrayList<?>)ret.getObject());
			if(ConstantesListas.LISTA_SERVICIOS.equalsIgnoreCase(tipoLista))
				session.setAttribute(ConstantesListas.LISTA_SERVICIOS, (ArrayList<?>)ret.getObject());
		}catch(Exception ex){
			System.out.println("[UtilitarioSession] error en seteaAtributosSessionOrdenServicio generado por:"+ex.getMessage());
		}
	}

	public static void seteaAtributosSessionOrdenServicioxOrigen(HttpSession session, DynaBean dyna,BResult ret,String tipoLista){
		try{
			if(Utilitario.validaAtributoDynaBean(dyna, "cboCiclo"))
				session.setAttribute("tempCiclo",(String)dyna.get("cboCiclo"));
			if(Utilitario.validaAtributoDynaBean(dyna, "cboSede"))
				seteaAtributosSession(session,dyna,"tempSede","cboSede");
			if(Utilitario.validaAtributoDynaBean(dyna, "cboSedeOrigen"))
				seteaAtributosSession(session,dyna,"tempSedeOrigen","cboSedeOrigen");
			if(Utilitario.validaAtributoDynaBean(dyna, "dni"))
				session.setAttribute("tempDNI",(String)dyna.get("dni"));
			if(Utilitario.validaAtributoDynaBean(dyna, "cboEspecialidad"))
				session.setAttribute("tempEspecialidad",(String)dyna.get("cboEspecialidad"));
			if(Utilitario.validaAtributoDynaBean(dyna, "cboEspecialidadOrigen"))
				session.setAttribute("tempEspecialidadOrigen",(String)dyna.get("cboEspecialidadOrigen"));
			if(Utilitario.validaAtributoDynaBean(dyna, "cboServicio"))
				session.setAttribute("tempServicio",(String)dyna.get("cboServicio"));
			if(Utilitario.validaAtributoDynaBean(dyna, "txtComentario"))
				session.setAttribute("tempComentario",(String)dyna.get("txtComentario"));
			if(Utilitario.validaAtributoDynaBean(dyna, "cboOperador"))
				session.setAttribute("tempOperador",(String)dyna.get("cboOperador"));
			if(ConstantesListas.LISTA_OPERADORES.equalsIgnoreCase(tipoLista))
				session.setAttribute(ConstantesListas.LISTA_OPERADORES, (ArrayList<?>)ret.getObject());
			if(ConstantesSession.PACIENTETO.equalsIgnoreCase(tipoLista))
				session.setAttribute(ConstantesSession.PACIENTETO, (PacienteTO)ret.getObject());
			if(ConstantesListas.LISTA_ESPECIALIDADES.equalsIgnoreCase(tipoLista))
				session.setAttribute(ConstantesListas.LISTA_ESPECIALIDADES, (ArrayList<?>)ret.getObject());
			if(ConstantesListas.LISTA_ESPECIALIDADES_ORIGEN.equalsIgnoreCase(tipoLista))
				session.setAttribute(ConstantesListas.LISTA_ESPECIALIDADES_ORIGEN, (ArrayList<?>)ret.getObject());
			if(ConstantesListas.LISTA_SERVICIOS.equalsIgnoreCase(tipoLista))
				session.setAttribute(ConstantesListas.LISTA_SERVICIOS, (ArrayList<?>)ret.getObject());
		}catch(Exception ex){
			System.out.println("[UtilitarioSession] error en seteaAtributosSessionOrdenServicio generado por:"+ex.getMessage());
		}
	}
	public static void seteaAtributosSessionPlanTratamiento(HttpSession session, DynaBean dyna){
		try{
			if(Utilitario.validaAtributoDynaBean(dyna, "cboSede"))
				seteaAtributosSession(session,dyna,"tempSede","cboSede");
			if(Utilitario.validaAtributoDynaBean(dyna, "txtFileHC"))
				seteaAtributosSession(session,dyna,"tempFileHC","txtFileHC");
			if(Utilitario.validaAtributoDynaBean(dyna, "cboServicio"))
				session.setAttribute("tempServicio",(String)dyna.get("cboServicio"));
			if(Utilitario.validaAtributoDynaBean(dyna, "cboEspecialidad"))
				session.setAttribute("tempEspecialidad",(String)dyna.get("cboEspecialidad"));
		}
		catch(Exception ex){
			System.out.println("[UtilitarioSession] error en seteaAtributosSessionPlanTratamiento generado por:"+ex.getMessage());
		}
	}
	
	public static void seteaAtributosSessionHistoriaClinica(HttpSession session, DynaBean dyna,BResult ret,String tipoLista){
		try{
			if(Utilitario.validaAtributoDynaBean(dyna, "dni"))
				session.setAttribute("tempDNI",(String)dyna.get("dni"));
			if(Utilitario.validaAtributoDynaBean(dyna, "cboSede"))
				session.setAttribute("tempSede",(String)dyna.get("cboSede"));
			if(Utilitario.validaAtributoDynaBean(dyna, "cboEspecialidad"))
				session.setAttribute("tempEspecialidad",(String)dyna.get("cboEspecialidad"));
			if(Utilitario.validaAtributoDynaBean(dyna, "cboPeriodo"))
				session.setAttribute("tempPeriodo",(String)dyna.get("cboPeriodo"));
			if(Utilitario.validaAtributoDynaBean(dyna, "txtMotivoActual"))
				session.setAttribute("tmpMotivoActual",(String)dyna.get("txtMotivoActual"));
			if(Utilitario.validaAtributoDynaBean(dyna, "txtMotivoAnterior"))
				session.setAttribute("tmpMotivoAnterior",(String)dyna.get("txtMotivoAnterior"));
			if(ConstantesSession.PACIENTETO.equalsIgnoreCase(tipoLista))
				session.setAttribute(ConstantesSession.PACIENTETO, (PacienteTO)ret.getObject());
		}catch(Exception ex){
			System.out.println("[UtilitarioSession] error en seteaAtributosSessionHistoriaClinica generado por:"+ex.getMessage());
		}
	}
	
	public static void seteaAtributosSession(HttpSession session,DynaBean dyna,String valorSession,String valorDyna){
		try{
			if("class java.lang.String".equalsIgnoreCase(dyna.get(valorDyna).getClass().toString())){
				session.setAttribute(valorSession,(String)dyna.get(valorDyna));	
			}
		}catch(Exception ex){
			System.out.println("[UtilitarioSession] error en seteaAtributosSession generado por:"+ex.getMessage());
		}
	}

	public static String establecePaginaExito(DynaBean dyna){
		if(ConstantesSECCD.EDICION.equalsIgnoreCase((String)dyna.get("operacion")))
			return "exitoE";
		else
			return "exitoI";
	}
	
	public static String establecePaginaExito(HttpSession session,DynaBean dyna){
		String salida = "";
		int perfil= recuperaPerfilUsuarioSession(session);
		switch(perfil){
			case ConstantesSECCD.PERF_ADMISIS: salida= "exitoAS";break;
			case ConstantesSECCD.PERF_ALUMNO: salida= "exitoAL";break;
			case ConstantesSECCD.PERF_MEDDOC: salida= "exitoMD";break;
		}
		if(ConstantesSECCD.EDICION.equalsIgnoreCase((String)dyna.get("operacion")))
			return salida+"_E";
		else
			return salida+"_I";
	}
	
	
	public static String establecePaginaExito(HttpSession session){
		String salida = "";
		int perfil= recuperaPerfilUsuarioSession(session);
		switch(perfil){
			case ConstantesSECCD.PERF_ADMISIS: salida= "exitoAS";break;
			case ConstantesSECCD.PERF_ALUMNO: salida= "exitoAL";break;
			case ConstantesSECCD.PERF_MEDDOC: salida= "exitoMD";break;
			case ConstantesSECCD.PERF_RECECPCION: salida= "exitoREC";break;
			case ConstantesSECCD.PERF_ADMINISTRATIVO: salida= "exitoADM";break;
		}
		return salida;
	}	
	
	public static int recuperaPerfilUsuarioSession(HttpSession session){
		return ((UsuarioTO)session.getAttribute(ConstantesSession.USUARIO_LOGEADO)).getPerfil();
	}
	

	public static void seteaListasHorariosxCita(HttpSession session, ArrayList listaTemporal){
		if(listaTemporal.size()>=1){
			session.setAttribute(ConstantesListas.LISTA_DIA_1, (ArrayList<?>)listaTemporal.get(0));
			session.setAttribute(ConstantesListas.SIZE_LISTA_DIA_1, ((ArrayList<?>)listaTemporal.get(0)).size());
		}
		if(listaTemporal.size()>=2){
			session.setAttribute(ConstantesListas.LISTA_DIA_2, (ArrayList<?>)listaTemporal.get(1));
			session.setAttribute(ConstantesListas.SIZE_LISTA_DIA_2,  ((ArrayList<?>)listaTemporal.get(1)).size());
			
		}
		if(listaTemporal.size()>=3){
			session.setAttribute(ConstantesListas.LISTA_DIA_3, (ArrayList<?>)listaTemporal.get(2));
			session.setAttribute(ConstantesListas.SIZE_LISTA_DIA_3,  ((ArrayList<?>)listaTemporal.get(2)).size());
				
		}
		if(listaTemporal.size()>=4){
			session.setAttribute(ConstantesListas.LISTA_DIA_4, (ArrayList<?>)listaTemporal.get(3));
			session.setAttribute(ConstantesListas.SIZE_LISTA_DIA_4,  ((ArrayList<?>)listaTemporal.get(3)).size());
			
		}
		if(listaTemporal.size()>=5){
			session.setAttribute(ConstantesListas.LISTA_DIA_5, (ArrayList<?>)listaTemporal.get(4));
			session.setAttribute(ConstantesListas.SIZE_LISTA_DIA_5, ((ArrayList<?>)listaTemporal.get(4)).size());
			
		}
		if(listaTemporal.size()>=6){
			session.setAttribute(ConstantesListas.LISTA_DIA_6, (ArrayList<?>)listaTemporal.get(5));
			session.setAttribute(ConstantesListas.SIZE_LISTA_DIA_6, ((ArrayList<?>)listaTemporal.get(5)).size());

		}
	}
	
	public static void seteaAtributosSessionCita(HttpSession session, DynaBean dyna,BResult ret,String tipoLista){
		try{
			seteaAtributosSessionCita(session,dyna);
			if(ConstantesListas.LISTA_ESPECIALIDADES.equalsIgnoreCase(tipoLista))
				session.setAttribute(ConstantesListas.LISTA_ESPECIALIDADES, (ArrayList<?>)ret.getObject());
			if(ConstantesListas.LISTA_SILLONES.equalsIgnoreCase(tipoLista))
				session.setAttribute(ConstantesListas.LISTA_SILLONES, (ArrayList<?>)ret.getObject());
		}catch(Exception ex){
			System.out.println("[UtilitarioSession] error en seteaAtributosSessionOrdenServicio generado por:"+ex.getMessage());
		}
	}

	public static void seteaAtributosPopUpInsertaCita(HttpSession session, DynaBean dyna){
		try{
			if(Utilitario.validaAtributoDynaBean(dyna, "cboSede"))
				seteaAtributosSession(session,dyna,"popUpSede","cboSede");
			if(Utilitario.validaAtributoDynaBean(dyna, "cboEspecialidad"))
				session.setAttribute("popUpspecialidad",(String)dyna.get("cboEspecialidad"));
			if(Utilitario.validaAtributoDynaBean(dyna, "popUpSillon"))
				session.setAttribute("popUpSillon",(String)dyna.get("cboSillon"));
		}catch(Exception ex){
			System.out.println("[UtilitarioSession] error en seteaAtributosSessionOrdenServicio generado por:"+ex.getMessage());
		}
	}
	
	public static void seteaAtributosSessionCita(HttpSession session, DynaBean dyna){
		try{
			if(Utilitario.validaAtributoDynaBean(dyna, "cboSede"))
				seteaAtributosSession(session,dyna,"tempSede","cboSede");
			if(Utilitario.validaAtributoDynaBean(dyna, "cboEspecialidad"))
				session.setAttribute("tempEspecialidad",(String)dyna.get("cboEspecialidad"));
			if(Utilitario.validaAtributoDynaBean(dyna, "cboSillon"))
				session.setAttribute("tempSillon",(String)dyna.get("cboSillon"));
			session.removeAttribute("tmpPaciente");
			session.removeAttribute("tmpCodPT");
		}catch(Exception ex){
			System.out.println("[UtilitarioSession] error en seteaAtributosSessionCita generado por:"+ex.getMessage());
		}
	}
	
	public static String obtieneNombreFaseTratamiento(HttpSession session,int busqueda){
		String nombreFase="";
		int		temporal=0;
		ArrayList listaFases = (ArrayList)session.getAttribute(ConstantesListas.LISTA_FASES);
		for(int i=0;i<listaFases.size();i++){
			if(busqueda==((FaseTratamientoTO)listaFases.get(i)).getCodigo()){
				nombreFase=((FaseTratamientoTO)listaFases.get(i)).getNombre();
				break;
			}
		}
		return nombreFase;
	}
	
	
	public static void seteaAtributosInsertaCita(HttpSession session, DynaBean dyna){
		try{
			if(Utilitario.validaAtributoDynaBean(dyna, "cboSede"))
				session.setAttribute("tempSede",(String)dyna.get("cboSede"));
			if(Utilitario.validaAtributoDynaBean(dyna, "cboEspecialidad"))
				session.setAttribute("tempEspecialidad",(String)dyna.get("cboEspecialidad"));
			if(Utilitario.validaAtributoDynaBean(dyna, "cboSillon"))
				session.setAttribute("tempSillon",(String)dyna.get("cboSillon"));
			}catch(Exception ex){
			System.out.println("[UtilitarioSession] error en seteaAtributosInsertaCita generado por:"+ex.getMessage());
		}
	}
	
	/**
	 * Metodo que setea el valor del parametro que controla la aparicion de los botones en la grilla de horario para citas
	 * */
	public static void seteaHabilitaAccionCita(HttpSession session,HttpServletRequest request){
		String sede 		= request.getParameter("cboSede");
		String sillon 		= request.getParameter("cboSillon");
		String especialidad = request.getParameter("cboEspecialidad");
		if((sede!=null)&&(!sede.equalsIgnoreCase("0"))){
			if((especialidad!=null)&&(!especialidad.equalsIgnoreCase("0"))){
				if((sillon!=null)&&(!sillon.equalsIgnoreCase("0"))){
					session.setAttribute("habilitaAccion","1");
				}else{
					session.setAttribute("habilitaAccion","0");
				}
			}else{
				session.setAttribute("habilitaAccion","0");
			}
		}else{
			session.setAttribute("habilitaAccion","0");
		}
	}
	
	/**
	 * Metodo que setea el valor del parametro que controla la aparicion de los botones en la grilla de horario para citas
	 * */
	public static void reseteaComboSedeInsertaCita(HttpSession session,HttpServletRequest request){
		String sede 		= request.getParameter("cboSede");
		String especialidad = request.getParameter("cboEspecialidad");
		
		if(sede.equalsIgnoreCase("0")){
			session.removeAttribute("tempEspecialidad");
			session.removeAttribute(ConstantesListas.LISTA_ESPECIALIDADES);
			session.removeAttribute("tempSillon");
			session.removeAttribute(ConstantesListas.LISTA_SILLONES);
		}
	}
}
